Simple Calculator

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/Edit1"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Number1"/>
<EditText
android:id="@+id/Edit2"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Number2"/>
<Button
android:id="@+id/BtnAdd"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Add"/>
<Button
android:id="@+id/BtnSub"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Substract"/>
<Button
android:id="@+id/BtnMul"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Multiply"/>
<Button
android:id="@+id/BtnDiv"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Divide"/>
<TextView
android:id="@+id/TextResult"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Result:"
android:textColor="#ff0000"
android:textSize="30dp"/>
</LinearLayout>
android:layout_weight는 상대적인 크기를 의미함
위에서 EditText 두개와 Button을 모두 weight=“1”로 지정했기 때문에 세로가 3등분 된다.
MainActivity.java
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//
EditText edit1, edit2;
Button btnAdd, btnSub, btnMul, btnDiv;
TextView textResult;
String num1, num2;
int result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Simple Calculator"); //
//xml id java
edit1=(EditText)findViewById(R.id.Edit1);
edit2=(EditText)findViewById(R.id.Edit2);
btnAdd=(Button)findViewById(R.id.BtnAdd);
btnSub=(Button)findViewById(R.id.BtnSub);
btnMul=(Button)findViewById(R.id.BtnMul);
btnDiv=(Button)findViewById(R.id.BtnDiv);
textResult=(TextView)findViewById(R.id.TextResult);
btnAdd.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MontionEvent motionEvent){
num1=edit1.getText().toString();
num2=edit2.getText().toString();
// EditText String
result=Integer.parseInt(num1)+Integer.parseInt(num2);
textResult.setText("Result: "+result);
return false;
}
});
btnSub.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MontionEvent motionEvent){
num1=edit1.getText().toString();
num2=edit2.getText().toString();
// EditText String
result=Integer.parseInt(num1)-Integer.parseInt(num2);
textResult.setText("Result: "+result);
return false;
}
});
btnMul.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MontionEvent motionEvent){
num1=edit1.getText().toString();
num2=edit2.getText().toString();
// EditText String
result=Integer.parseInt(num1)*Integer.parseInt(num2);
textResult.setText("Result: "+result);
return false;
}
});
btnDiv.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MontionEvent motionEvent){
num1=edit1.getText().toString();
num2=edit2.getText().toString();
// EditText String
result=Integer.parseInt(num1)/Integer.parseInt(num2);
// int
textResult.setText("Result: "+result);
return false;
}
});
}
}